package com.peas.platform.module.icims.expenditure.kpis.controller.vo;

import java.util.*;
import java.math.*;
import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("调整单")
public class ExpenditureAdjustmentVo extends BaseVo {

    // （指标单表）外键
    @ApiModelProperty(value = "指标单表ID", notes = "")
    @NotNull(message = "指标单表ID不能为空")
    private Long expenditureKpiId;

    // （组织架构表）外键
    @ApiModelProperty(value = "填单人部门ID", notes = "")
    private Long submitOrganizationId;

    // （用户表）外键
    @ApiModelProperty(value = "填单人用户ID", notes = "")
    private Long submitUserId;

    // 自动生成
    @ApiModelProperty(value = "调整单号", notes = "")
    @Size(max = 100, message = "调整单号不能超过100个字符")
    private String adjustmentCode;

    @ApiModelProperty(value = "调整日期", notes = "")
    private Date adjustmentDate;

    @ApiModelProperty(value = "调整前金额", notes = "")
    private BigDecimal beforeAmount;

    @ApiModelProperty(value = "调整金额", notes = "")
    private BigDecimal adjustAmount;

    @ApiModelProperty(value = "调整后金额", notes = "")
    private BigDecimal afterAmount;

    @ApiModelProperty(value = "调整比例", notes = "")
    private BigDecimal adjustRate;

    @ApiModelProperty(value = "状态", notes = "枚举取值:ExpenditureAdjustmentState")
    @Size(max = 20, message = "状态不能超过20个字符")
    private String state;

}
